package com.loong.loong.hik.api.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModelProperty;
import java.time.LocalDateTime;
import lombok.Data;

/**
 * 区域
 * @author jinyiang
 * @date 2023/3/16 10:10
 */
@Data
@TableName("hik_region")
public class HikRegion extends Model<HikRegion> {

	private static final long serialVersionUID = 1L;
	/**
	 * 区域编号
	 */
	@TableId(value = "index_code", type = IdType.ASSIGN_ID)
	private String indexCode;

	/**
	 * 区域名称
	 */
	private String name;

	/**
	 * 区域完整路径，含本节点，@进行分割，上级节点在前
	 */
	private String regionPath;

	/**
	 * 父区域唯一标识码
	 */
	private String parentIndexCode;

	/**
	 * 用于标识区域节点是否有权限操作，true：有权限 false：无权限
	 */
	private boolean available;

	/**
	 * true:是叶子节点，表示该区域下面未挂区域 false:不是叶子节点，表示该区域下面挂有区域
	 */
	private boolean leaf;

	/**
	 * 级联平台标识，多个级联编号以@分隔，本级区域默认值“0”
	 */
	private String cascadeCode;

	/**
	 * 区域标识
	 * 0：本级
	 * 1：级联
	 * 2：混合，下级推送给上级的本级点（杭州本级有滨江，然后下级滨江又把自己推送上来了，滨江是混合区域节点）
	 * 入参cascadeFlag与返回值对应：
	 * cascadeFlag=0：返回0、1、2
	 * cascadeFlag=1：返回0、2 cascadeFlag=2：返回1、2
	 */
	private Integer cascadeType;

	/**
	 * 区域类型
	 * 0: 国标区域
	 * 1: 雪亮工程区域
	 * 2: 司法行政区域
	 * 9: 自定义区域
	 * 10: 历史兼容版本占用普通区域
	 * 11: 历史兼容版本占用级联区域
	 * 12: 楼栋单元
	 */
	private Integer catalogType;

	/**
	 * 外码(如：国际码)
	 */
	private String externalIndexCode;

	/**
	 * 同级区域顺序
	 */
	private Integer sort;

	private Integer localQuantity;

	private Integer totalQuantity;

	/**
	 * 创建时间
	 */
	@TableField(fill = FieldFill.INSERT)
	@ApiModelProperty(value = "创建时间")
	private LocalDateTime createTime;

	/**
	 * 更新时间
	 */
	@TableField(fill = FieldFill.UPDATE)
	@ApiModelProperty(value = "更新时间")
	private LocalDateTime updateTime;

	/**
	 * 删除标记
	 */
	@TableLogic
	@TableField(fill = FieldFill.INSERT)
	@ApiModelProperty(value = "删除标记,1:已删除,0:正常")
	private String delFlag;

}
